package com.example.springbott.controller;

import com.example.springbott.aspactJ.OperationName;
import com.example.springbott.bean.BaseRespVo;
import com.example.springbott.bean.MarketAd;
import com.example.springbott.common.NewAd;
import com.example.springbott.common.BasePageInfo;
import com.example.springbott.common.CommonData;
import com.example.springbott.service.MarketAdService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

/**
 * @author 付常莹
 * @date 20022/11/19 20:14
 * 该controller用于广告管理模块
 */
@RestController
@RequestMapping("admin/ad")
public class AdController {
    @Resource
    MarketAdService marketAdService;

    /**
     * 该方法用于广告管理模块，根据条件查询广告
     * @return
     */
    @RequiresPermissions("admin:ad:list")
    @GetMapping("list")
    @OperationName("1")
    public BaseRespVo list(String name,String sort, String content, BasePageInfo info){
        CommonData<MarketAd> data =marketAdService.selectAdList(name, sort, content,info);
        return BaseRespVo.ok(data);
    }


    /**
     * 该方法用于广告管理模块，新增广告
     * 修改中
     */
    @RequiresPermissions("admin:ad:create")
    @PostMapping("create")
    @OperationName("1")
    public BaseRespVo create(@RequestBody MarketAd marketAd){
     MarketAd data =   marketAdService.createAd(marketAd);
      return BaseRespVo.ok(data);
    }


    /**
     * 该方法用于广告模块，编辑，修改广告信息
     *post
     */
    @RequiresPermissions("admin:ad:update")
    @PostMapping("update")
    @OperationName("1")
    public BaseRespVo update(@RequestBody MarketAd marketAd){
        MarketAd data = marketAdService.updateAd(marketAd);
        return BaseRespVo.ok(data);
    }


    /**
     * 该方法用于广告模块，删除广告
     */
    @RequiresPermissions("admin:ad:delete")
    @PostMapping("delete")
    @OperationName("1")
    public BaseRespVo delete(@RequestBody MarketAd marketAd){
        marketAdService.deleteAd(marketAd.getId());
        return BaseRespVo.ok(null);
    }
}
